//编写一个函数，实现将若干个字符串按字母顺序由小到大进行排序，
//然后输出排序后的字符串序列。


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define M 10
#define N 21
void sortStrs(char *p[], int n);
int main()
{
    char strsArr[M][N];
    char *p[M];
    int i,n;

    printf("Input n(n<=20):\n");
    scanf("%d",&n);
    //fflush(stdin);
    getchar();		//读走回车字符
    for(i=0;i<n;i++)
    {
        printf("%d:\n",i);
        fgets(strsArr[i],N,stdin);
        p[i] = strsArr[i];
    }

    sortStrs(p,n);

    printf("After sorted:\n");
    for(i=0;i<n;i++)
    {
        printf("%d:%s",i,p[i]);
    }

    return 0;
}
//对指针数组p中各元素指向的字符串进行排序，排序的结果仍然存放在p数组中。按ASCII表编码顺序排序。
//选择法
void sortStrs(char *ptr[], int n)
{
    // 请在此添加代码，实现函数sortStrs
    /********** Begin *********/
      char *temp=NULL;
      for(int i=0;i<n;i++){
          for(int j=i+1;j<n;j++){
              if(strcmp(ptr[j],ptr[i])<0){
                  temp=ptr[i];
                  ptr[i]=ptr[j];
                  ptr[j]=temp;
              }
          }
      }



    /********** End **********/

}
